package com.lg.partition11;

import java.io.*;

/**
 * @author `RKC`
 * @date 2022/3/5 20:39
 */
public class P1002过河卒 {

    private static final int N = 25;
    private static final int[][] dirs = {{-1, -2}, {-2, -1}, {0, 0}, {-2, 1}, {-1, 2}, {1, 2}, {2, 1}, {2, -1}, {1, -2}};
    private static boolean[][] g = new boolean[N][N];
    private static long[][] f = new long[N][N];
    private static int n, m;

    private static final BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    private static final BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(System.out));

    public static void main(String[] args) throws IOException {
        String[] ss = reader.readLine().split(" ");
        n = Integer.parseInt(ss[0]) + 1;
        m = Integer.parseInt(ss[1]) + 1;
        int hx = Integer.parseInt(ss[2]) + 1, hy = Integer.parseInt(ss[3]) + 1;
        for (int[] dir : dirs) {
            int nx = hx + dir[0], ny = hy + dir[1];
            if (nx <= 0 || nx > n || ny <= 0 || ny > m) continue;
            g[nx][ny] = true;
        }
        f[1][1] = 1;
        for (int i = 1; i <= n; i++) {
            for (int j = 1; j <= m; j++) {
                if (!g[i][j]) {
                    f[i][j] += f[i - 1][j] + f[i][j - 1];
                }
            }
        }
        writer.write(f[n][m] + "\n");
        writer.flush();
    }
}
